home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
CRS
/
crs06.d81
/
months.sda
/
MAC
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2009-10-10
|
9KB
|
305 lines
10 REM ********** M A C **********
12 REM MONTHLY APPOINTMENT CALENDAR
14 REM BY D. SCOTT, 2/89, PUBLIC DOMAIN
16 REM BASED ON CALENDAR PROGRAM BY
18 REM JOHN GORDON AND IAN MCLEAN
20 REM FROM 100 PROGRAMS FOR THE
22 REM COMMODORE 64
100 DIM C(7,6):DIM N$(19)
102 RESTORE
104 POKE53280,15:POKE53281,2:POKE646,15:POKE53272,21
106 PRINT"[147] M A C [146][155]
108 [153]" (null)USRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSR(null) "
110 [153]" SGN WAIT+ "
112 [153]" SGN CLOSE CLOSECLOSEMONTHLY APPOINTMENT WAIT+ "
114 [153]" SGN C A L E N D A R WAIT+ "
116 [153]" SGN WAIT+ "
118 [153]" (null)ANDANDANDANDANDANDANDANDANDANDANDANDANDANDANDANDANDANDANDANDANDANDANDANDANDANDANDANDANDANDANDANDANDANDSQR "
120 [153]"SYS (1)LIST JAN SYS(4) LISTAPR SYS(7) LISTJUL SYS(A) LISTOCT ";
122 [153]"SYS (2)LIST FEB SYS(5) LISTMAY SYS(8) LISTAUG SYS(B) LISTNOV ";
124 [153]"SYS (3)LIST MAR SYS(6) LISTJUN SYS(9) LISTSEP SYS(C) LISTDEC ";
126 [153]"SYS ^ ^ ^ ^ ";
128 [153]" -LENLENLENLENLENLENLENLEN>LENLENLENLENLENLENLENLEN>LENLENLENLENLENLENLENLEN>LENLENLENLENLEN^ ";
130 [153]" (null) ENTER TO SELECT MONTH (null) ";
132 [153]" /LENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENEXP ";
134 [161]KEY$:[139]KEY$[178]""[167]134
136 [139]KEY$[178]"1"[167]M$[178]"JANUARY":[137]162
138 [139]KEY$[178]"2"[167]M$[178]"FEBRUARY":[137]162
140 [139]KEY$[178]"3"[167]M$[178]"MARCH":[137]162
142 [139]KEY$[178]"4"[167]M$[178]"APRIL":[137]162
144 [139]KEY$[178]"5"[167]M$[178]"MAY":[137]162
146 [139]KEY$[178]"6"[167]M$[178]"JUNE":[137]162
148 [139]KEY$[178]"7"[167]M$[178]"JULY":[137]162
150 [139]KEY$[178]"8"[167]M$[178]"AUGUST":[137]162
152 [139]KEY$[178]"9"[167]M$[178]"SEPTEMBER":[137]162
154 [139]KEY$[178]"A"[167]M$[178]"OCTOBER":[137]162
156 [139]KEY$[178]"B"[167]M$[178]"NOVEMBER":[137]162
158 [139]KEY$[178]"C"[167]M$[178]"DECEMBER":[137]162
160 [141]850:[137]134
162 [153]"LIST MONTH SELECTED IS....SYS";M$
164 [133]"LIST ENTER ENTIRE YEAR..SYS";Y
166 [153]" CALCULATING - PLEASE WAIT ";
168 D$[178]" SUN MON TUE WED THU FRI SAT"
200 [143] *** CALENDAR CALCULATIONS
202 [143] *** GET NUMBER OF DAYS IN MONTH
204 M[178]0
206 [135]Q$,F,D
208 M[178]M[170]1
210 [139]M[178]13[167] [153]"INVALID MONTH":[137]102
212 [139][200](M$,3)[179][177][200](Q$,3)[167][137]206
214 [139]Y[177]1900[167]Y[178]Y[171]1900
216 L[178][181](Y[173]4)
218 OF[178]Y[170]L
222 [139]Y[171][181](Y[173]4)[172]4[178]0[175]M[179]3[167]OF[178]OF[171]1
224 [139]Y[171][181](Y[173]4)[172]4[178]0[175]M[178]2[167]D[178]29
226 OF[178]OF[171][181](OF[173]7)[172]7
228 F[178]F[170]OF
230 F[178]F[171][181](F[173]7)[172]7
232 [139]F[178]0[167]F[178]7
234 [129]I[178]1[164]F[171]1
236 C(I,1)[178]0
238 [130]I
240 DY[178]1
242 [129]I[178]F[164]7
244 C(I,1)[178]DY
246 DY[178]DY[170]1
248 [130]I
250 [129]J[178]2[164]6
252 [129]I[178]1[164]7
254 C(I,J)[178]DY
256 DY[178]DY[170]1
258 [139]DY[177]D[167]I[178]7:J[178]6
260 [130]I
262 [130]J
264 [137]300
280 [143] ERROR ROUTINE
285 [153]"LOAD "E$:[141]850:[141]850:[141]850:[141]850:[141]800
290 [160]15:[160]2
300 [143]*****SCREEN PRINT OUT*****
302 [151]53280,15:[151]53281,2:[151]646,15
304 [153]"LOAD(null)USRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSR(null)WAIT";
306 [153]"SGN WAIT M A I N M E N U WAITLIST +WAIT";
308 [153]"SGN +WAIT";
310 [153]"SGN A = ANOTHER MONTH M = MEMO OPTION +WAIT";
312 [153]"SGN P = PRINT OPTION Q = QUIT +WAIT";
314 [153]"SGN +WAIT";
316 [153]"SGN PRESS KEY FOR SELECTION +WAIT";
318 [139]Y[179]1800[167][153]"";M$;" ";Y[170]1900;"SYS"
320 [139]Y[177][178]1800[167][153]"";M$;" ";Y;"SYS"
322 [153]D$
324 [153]" ORLENLENLENLEN=LENLENLENLEN=LENLENLENLEN=LENLENLENLEN=LENLENLENLEN=LENLENLENLEN=LENLENLENLEN^ ";
326 [129]J[178]1[164]6
328 [129]I[178]1[164]7
330 C$[178][196](C(I,J)):[139][195](C$)[178]2[167]C$[178]" "[170]C$
332 [139]C(I,J)[178]0[167][153]"(null) ";" ";
334 [139]C(I,J)[179][177]0[167][153]"(null)"C$;" ";
336 [139]I[178]7[167][153]"(null)";
338 [130]I
340 [153]""
342 [139]J[177]0[167][153]" ";
344 [139]J[178]6[167]350
346 [153]"ON -LENLENLENLEN(null)LENLENLENLEN(null)LENLENLENLEN(null)LENLENLENLEN(null)LENLENLENLEN(null)LENLENLENLEN(null)LENLENLENLEN< ";
348 [130] J
350 [153]"ON /LENLENLENLEN>LENLENLENLEN>LENLENLENLEN>LENLENLENLEN>LENLENLENLEN>LENLENLENLEN>LENLENLENLENEXP ";
352 [161]KEY$:[139]KEY$[178]""[167]352
354 [139]KEY$[178]"A"[167]P$[178]"MAC":[153]"":[137]900
356 [139]KEY$[178]"M"[167]364
358 [139]KEY$[178]"P"[167]600
360 [139]KEY$[178]"Q"[167][144]:P$[178]" ":[137]900
361 [143] TO LOAD ANOTHER FILE ON EXIT, ENTER THAT NAME AS P$ IN LINE 360.
362 [141]800:[137]352
364 [153]"LOAD ORLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLEN^"
366 [153]" (null) WAIT(null)"
368 [153]" (null) M E M O O P T I O N S WAIT(null)"
370 [153]" (null) WAIT(null)"
372 [153]" (null) W = WRITE NEW MEMOS WAIT(null)"
374 [153]" (null) V = VIEW/EDIT CURRENT MEMOS WAIT(null)"
376 [153]" (null) E = ESCAPE TO MENU WAIT(null)"
378 [153]" (null) ^ WAIT(null)"
380 [153]" (null) /LEN ENTER LETTER FOR CHOICE WAIT(null)"
384 [153]" (null) WAIT(null)"
386 [153]" /LENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENEXP"
388 [161]KEY$:[139]KEY$[178]""[167]388
390 [139]KEY$[178]"W"[167]450
392 [139]KEY$[178]"V"[167]400
394 [139]KEY$[178]"E"[167]300
396 [141]800:[137]388
400 [143] ***** VIEW MEMOS *****
401 [159]15,8,15:[159]2,8,2,"MEMOS"[170]M$[170]",S,R"
402 [132]15,E,E$,E1,E2
404 [139]E[167]280
405 [129]L[178]0[164]19
406 [132]2,N$(L)
408 [130]L
410 [160]2
412 [153]"LOAD MEMOS FOR ";M$"LIST"
414 [129]L[178]0[164]19
416 [153]" "N$(L)
418 [130]L
420 [153]" PRESS RETURN FOR CALENDAR"
422 [153]" PRESS LETTER (E) FOR EDIT"
424 [161]KEY$:[139]KEY$[178]""[167]424
426 [139]KEY$[178][199](13)[167][160]15:[160]2:[137]300
428 [139]KEY$[178]"E"[167]432
430 [137]424
432 [153]"ONONONONONONONONONONONONONONONONONONONONONONONONONONON";
434 [153]" ORLENLENLENLEN ENTER NEW MEMO INFORMATION LENLENLENLEN^ WAIT";
436 [137]456
450 [143] ***** WRITE MEMOS *****
452 [153]"LOAD ORLENLENLENLENLENLEN ENTER MEMO INFORMATION LENLENLENLENLENLEN^ WAIT";
454 [153]" (null) (null) WAIT";
456 [133]"";N$(0):[139]N$(0)[178]""[167]N$(0)[178]"-"
458 [133]"";N$(1):[139]N$(1)[178]""[167]N$(1)[178]"-"
460 [133]"";N$(2):[139]N$(2)[178]""[167]N$(2)[178]"-"
462 [133]"";N$(3):[139]N$(3)[178]""[167]N$(3)[178]"-"
464 [133]"";N$(4):[139]N$(4)[178]""[167]N$(4)[178]"-"
468 [133]"";N$(5):[139]N$(5)[178]""[167]N$(5)[178]"-"
470 [133]"";N$(6):[139]N$(6)[178]""[167]N$(6)[178]"-"
472 [133]"";N$(7):[139]N$(7)[178]""[167]N$(7)[178]"-"
474 [133]"";N$(8):[139]N$(8)[178]""[167]N$(8)[178]"-"
476 [133]"";N$(9):[139]N$(9)[178]""[167]N$(9)[178]"-"
478 [133]"";N$(10):[139]N$(10)[178]""[167]N$(10)[178]"-"
480 [133]"";N$(11):[139]N$(11)[178]""[167]N$(11)[178]"-"
482 [133]"";N$(12):[139]N$(12)[178]""[167]N$(12)[178]"-"
484 [133]"";N$(13):[139]N$(13)[178]""[167]N$(13)[178]"-"
486 [133]"";N$(14):[139]N$(14)[178]""[167]N$(14)[178]"-"
488 [133]"";N$(15):[139]N$(15)[178]""[167]N$(15)[178]"-"
490 [133]"";N$(16):[139]N$(16)[178]""[167]N$(16)[178]"-"
492 [133]"";N$(17):[139]N$(17)[178]""[167]N$(17)[178]"-"
494 [133]"";N$(18):[139]N$(18)[178]""[167]N$(18)[178]"-"
496 [133]"";N$(19):[139]N$(19)[178]""[167]N$(19)[178]"-"
498 [153]" IS THIS CORRECT (Y/N)?
500 GETKEY$:IFKEY$=""THEN500
502 IFKEY$="Y"THEN550
504 IFKEY$="N"THEN508
506 GOTO500
508 PRINT"[145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145]";
510 PRINT" [176][195][195][195][195][195] REENTER MEMO INFORMATION [195][195][195][195][195][174] [158][146]";
512 GOTO456
550 REM *****SAVE MONTHLY MEMOS*****
552 PRINT"[145] SAVING MEMO INFORMATION [146][155]"
554 OPEN2,8,2,"@:MEMOS"+M$+",S,W"
556 FORL=0TO19
558 PRINT#2,N$(L)
560 NEXTL
562 CLOSE2:CLOSE15
564 PRINT" PRESS RETURN FOR CALENDAR "
566 GETKEY$:IFKEY$=""THEN568
568 FORR=1TO100:NEXTR
570 PRINT"[145] PRESS RETURN FOR CALENDAR [146][155]"
572 IFKEY$=CHR$(13)THEN300
574 GETKEY$:IFKEY$=""THEN576
576 FORR=1TO100:NEXTR
578 PRINT"[145] PRESS RETURN FOR CALENDAR "
580 IFKEY$=CHR$(13)THEN300
582 GOTO566
600 REM ***** PRINT OPTIONS
602 POKE53281,6:GOSUB800:GOSUB800
604 PRINT"[147] [155][176][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][174]"
606 PRINT" [221][158] [146][155][221]"
608 PRINT" [221][158] PRINTER MUST BE ONLINE [146][155][221]"
610 PRINT" [221][158] [146][155][221]"
612 PRINT" [221][159] [146][155][221]"
614 PRINT" [221][159] P = PRINT CALENDAR & MEMOS [146][155][221]"
616 PRINT" [221][159] [146][155][221]"
618 PRINT" [221][159] E = ESCAPE TO MENU [146][155][221]"
620 PRINT" [221][159] ^ [146][155][221]"
622 PRINT" [221][159] [221] [146][155][221]"
624 PRINT" [221][159] ENTER LETTER FOR CHOICE [146][155][221]"
626 PRINT" [221][159] [146][155][221]"
628 PRINT" [155][173][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][189]"
630 GETKEY$:IFKEY$=""THEN630
632 IFKEY$="E"THEN300
634 IFKEY$="P"THENGOSUB950:GOTO638
636 GOTO630
638 PRINT"[147]":OPEN4,4:CMD4
640 IFY<1800THENY=Y+1900
642 PRINT#4,CHR$(14)
644 PRINT#4,M$;" ";Y
646 PRINT#4,CHR$(15)
648 PRINT#4:PRINT#4:PRINT#4," SUNDAY MONDAY TUESDAY WEDNESDAY";
650 PRINT#4, " THURSDAY FRIDAY SATURDAY "
651 PRINT#4,"[213][195][195][195][195][195][195][195][195][195][195][178][195][195][195][195][195][195][195][195][195][195][178][195][195][195][195][195][195][195][195][195][195][178][195][195][195][195][195][195][195][195][195][195][178]";
652 PRINT#4,"[195][195][195][195][195][195][195][195][195][195][178][195][195][195][195][195][195][195][195][195][195][178][195][195][195][195][195][195][195][195][195][195][201]"
654 FORJ=1TO6
656 FORI=1TO7
658 C$=STR$(C(I,J)):IFLEN(C$)=2THENC$=" "+C$
660 IFC(I,J)=0THENPRINT#4,"[221] ";" ";
662 IFC(I,J)<>0THENPRINT#4,"[221] "C$;" ";
664 IFI=7THENPRINT#4,"[221]"
666 NEXTI
668 PRINT#4,"[221] [221] [221] [221] [221]";
670 PRINT#4," [221] [221] [221]"
672 PRINT#4,"[221] [221] [221] [221] [221]";
674 PRINT#4," [221] [221] [221]"
676 PRINT#4,"[221] [221] [221] [221] [221]";
678 PRINT#4," [221] [221] [221]"
682 PRINT#4,"[221] [221] [221] [221] [221]";
684 PRINT#4," [221] [221] [221]"
686 IFJ>0THENPRINT#4,"";
688 IFJ=6THEN696
690 PRINT#4,"[171][195][195][195][195][195][195][195][195][195][195][219][195][195][195][195][195][195][195][195][195][195][219][195][195][195][195][195][195][195][195][195][195][219][195][195][195][195][195][195][195][195][195][195][219]";
692 PRINT#4,"[195][195][195][195][195][195][195][195][195][195][219][195][195][195][195][195][195][195][195][195][195][219][195][195][195][195][195][195][195][195][195][195][179]"
694 NEXT J
696 PRINT#4,"[202][195][195][195][195][195][195][195][195][195][195][177][195][195][195][195][195][195][195][195][195][195][177][195][195][195][195][195][195][195][195][195][195][177][195][195][195][195][195][195][195][195][195][195][177]";
698 PRINT#4,"[195][195][195][195][195][195][195][195][195][195][177][195][195][195][195][195][195][195][195][195][195][177][195][195][195][195][195][195][195][195][195][195][203]"
700 PRINT#4,CHR$(14)
702 PRINT#4," M E M O S "
704 PRINT#4,CHR$(15)
706 OPEN15,8,15:OPEN2,8,2,"MEMOS"+M$+",S,R"
708 INPUT#15,E,E$,E1,E2
710 IFETHENCLOSE4:GOTO280
712 FORL=0TO19
714 INPUT#2,N$(L)
716 NEXTL
718 CLOSE2
730 PRINT#4,N$(0);" ";
732 PRINT#4,N$(1)
734 PRINT#4,N$(2);" ";
736 PRINT#4,N$(3)
738 PRINT#4,N$(4);" ";
740 PRINT#4,N$(5)
742 PRINT#4,N$(6);" ";
744 PRINT#4,N$(7)
746 PRINT#4,N$(8);" ";
748 PRINT#4,N$(9)
750 PRINT#4,N$(10);" ";
752 PRINT#4,N$(11)
754 PRINT#4,N$(12);" ";
756 PRINT#4,N$(13)
758 PRINT#4,N$(14);" ";
760 PRINT#4,N$(15)
762 PRINT#4,N$(16);" ";
764 PRINT#4,N$(17)
766 PRINT#4,N$(18);" ";
768 PRINT#4,N$(19)
770 CLOSE4,4:GOTO300
800 REM WARNING TONE ROUTINES
805 REM BELL
810 POKE54296,15:POKE54277,16:POKE54278,247
815 POKE54276,17:POKE54273,25:POKE54272,10
820 FORWT=1TO300:NEXT:POKE54276,0:RETURN
850 REM BUZZER
855 POKE54296,15:POKE54277,45:POKE54278,165
860 POKE54276,33:POKE54273,6:POKE54272,5
865 FORWT=1TO150:NEXT:POKE54276,16:RETURN
900 PRINT"[147]LOAD"CHR$(34)P$CHR$(34)",8"
905 PRINT"RUN"
910 POKE198,3:POKE631,19:POKE632,13:POKE633,13
915 NEW
920 END
950 REM CHECK FOR PRINTER ROUTINE
952 OPEN4,4:PRINT#4,CHR$(0)
954 IFST=0THENCLOSE4:RETURN
956 PRINT"[144] PRINTER NOT ON LINE !!!":CLOSE4:GOSUB850
958 PRINT" PRESS [ + ] TO TRY AGAIN"
960 PRINT" PRESS [ _ ] TO ESCAPE PRINT"
962 GETKEY$:IFKEY$=""THEN962
964 IFKEY$=CHR$(43)THENPRINT"[145][145][145][145]":GOTO950
966 IFKEY$=CHR$(95)THEN300
968 GOTO962
1000 DATA JANUARY,2,31,FEBRUARY,5,28,MARCH,5,31,APRIL,1,30,MAY,3,31,JUNE,6,30
1010 DATA JULY,1,31,AUGUST,4,31,SEPTEMBER,7,30,OCTOBER,2,31
1020 DATA NOVEMBER,5,30,DECEMBER,7,31
1030 DATA ,,